/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.javeriana.aes.psw.termometro.logica;

import edu.javeriana.aes.psw.context.ContextCommunicationController;
import edu.javeriana.aes.psw.mensaje.Mensaje;
import edu.javeriana.aes.psw.mensaje.MensajeBean;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class ContextConsultaTemperatura {

    private ContextCommunicationController receiverInformacionTemp;

    public ContextConsultaTemperatura(ContextCommunicationController receiverInformacionTempParam){
        receiverInformacionTemp=receiverInformacionTempParam;
    }

    public List<Mensaje> obtenerLecturasTerminales() {

        Map<String, Mensaje> temperaturasMap = receiverInformacionTemp.recibirMensajes();
        Set<String> keysTemperaturas = temperaturasMap.keySet();

        ArrayList<Mensaje> lecturasTemp = new ArrayList<Mensaje>();

        for (String key : keysTemperaturas) {

            Mensaje mensaje = temperaturasMap.get(key);

            if (mensaje != null) {               
               
                String nombre = mensaje.getAlias();

                //si no trae nombre entonces se le asigna la ip para identificarlo
                if (nombre == null || (nombre.trim()).equals("")) {
                    nombre=mensaje.getIp();
                }

                Mensaje dto = new MensajeBean("",nombre,mensaje.getTemperatura(),mensaje.getTimestamp(),mensaje.getFrecuencia());
                lecturasTemp.add(dto);
            }
        }

        return lecturasTemp;

    }
}
